package com.uade.tp.view;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

import com.uade.tp.controlador.Delivery;
import com.uade.tp.negocio.view.ProductoView;
import com.uade.tp.negocio.view.SeccionView;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class ModificarProducto extends javax.swing.JFrame {
	private JLabel jLabel1;
	private JLabel jLabel2;
	private JButton Salir;
	private JComboBox comboProductos;
	private JLabel jLabel3;
	private JButton Aceptar;
	private JTextField proveedor;
	private JTextField nombre;
	private JLabel Estado;
	private JTextField estado;
	private static ModificarProducto instancia;
	
	/**
	* Auto-generated main method to display this JFrame
	*/
	/*public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				ModificarProducto inst = new ModificarProducto();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}*/
	
	public static ModificarProducto getInstancia() {
		if (instancia == null){
			instancia = new ModificarProducto();
		}
		instancia.setLocationRelativeTo(null);
		instancia.cargarLista();
		instancia.getSeleccionado();
		return instancia;
		
	}
	
	private ModificarProducto() {
		super();
		initGUI();
	}
	
	private void limpiar(){
		nombre.setText("");
		proveedor.setText("");
		estado.setText("");
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			this.setTitle("Modificar Producto");
			{
				jLabel1 = new JLabel();
				getContentPane().add(jLabel1);
				jLabel1.setText("Nombre :");
				jLabel1.setBounds(12, 80, 62, 16);
			}
			{
				jLabel2 = new JLabel();
				getContentPane().add(jLabel2);
				jLabel2.setText("Proveedor :");
				jLabel2.setBounds(12, 112, 86, 16);
			}
			{
				nombre = new JTextField();
				getContentPane().add(nombre);
				nombre.setBounds(92, 77, 116, 23);
				nombre.setEditable(false);
			}
			{
				proveedor = new JTextField();
				getContentPane().add(proveedor);
				proveedor.setBounds(92, 109, 113, 23);
			}
			{
				Aceptar = new JButton();
				getContentPane().add(Aceptar);
				Aceptar.setText("Aceptar");
				Aceptar.setBounds(67, 183, 81, 23);
				Aceptar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						String provee = proveedor.getText().trim();
						
						if( provee.equals("")) {
							JOptionPane.showMessageDialog(null,"Debe ingresar nombre producto");
						} else {
							Delivery.getInstancia().modificarproducto(
									nombre.getText(),
									provee);
									
							JOptionPane.showMessageDialog(null,"Producto modificado con exito");
							limpiar();
							instancia.cargarLista();
						}
					}
				});
			}
			{
				Salir = new JButton();
				getContentPane().add(Salir);
				Salir.setText("Salir");
				Salir.setBounds(175, 183, 81, 23);
				Salir.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						System.out.println("Salir.actionPerformed, event="+evt);
						limpiar();
						instancia.setVisible(false);
					}
				});
			}
			{
				jLabel3 = new JLabel();
				getContentPane().add(jLabel3);
				jLabel3.setText("Seleccione el producto :");
				jLabel3.setBounds(12, 20, 131, 16);
			}
			{
				comboProductos = new JComboBox();
				getContentPane().add(comboProductos);
				getContentPane().add(getEstado());
				getContentPane().add(getEstadox());
				//ComboProductos.setModel(ComboProductosModel);
				comboProductos.setBounds(12, 36, 291, 23);
				comboProductos.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						//ACA CARGOS LOS DATOS DEL SELECCIONADO.
						instancia.getSeleccionado();
					}
				});
			}
			pack();
			setSize(400, 300);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}
	
	private void getSeleccionado(){
		if (comboProductos.getSelectedItem() != null){
			ProductoView productoSeleccionado = (ProductoView) comboProductos.getSelectedItem();
			ProductoView p = Delivery.getInstancia().buscarProductoView(productoSeleccionado.getNombre());
			nombre.setText(p.getNombre());
			proveedor.setText(p.getProveedor());
			estado.setText(p.getEstado());
		}
	}
	
	
	private void cargarLista(){
		Vector <ProductoView> productos = Delivery.getInstancia().obtenerProductosView();
		comboProductos.removeAllItems();
		for(ProductoView p:productos){
			comboProductos.addItem(p);
		}		
	}
	
	
	private JTextField getEstado() {
		if(estado == null) {
			estado = new JTextField();
			estado.setBounds(92, 149, 113, 23);
			estado.setEditable(false);
		}
		return estado;
	}
	
	private JLabel getEstadox() {
		if(Estado == null) {
			Estado = new JLabel();
			Estado.setText("Estado");
			Estado.setBounds(12, 152, 62, 16);
		}
		return Estado;
	}

	public boolean tieneProductos() {

		return comboProductos.getItemCount() > 0;
	}

}
